home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / MacGzip 1.0 / source / Mac / Prefs.h < prev    next >
Text File  |  1995-09-18  |  3KB  |  136 lines

  1. /*
  2.  * Prefs.h
  3.  * (C) SPDsoft, August 13, 1995
  4.  *
  5.  * Prefs struct definition and constants
  6.  */
  7.  
  8. #ifndef __PREFS_H__
  9. #define __PREFS_H__
  10.  
  11. #ifndef __ALIASES__
  12. #include <Aliases.h>
  13. #endif
  14.  
  15. #define kCurrentPrefsTypeVers 7   /* and hopefully last */
  16.  
  17. #if GENERATINGPOWERPC || PRAGMA_ALIGN_SUPPORTED || defined(powerc) || defined (__powerc)
  18. #pragma options align=mac68k
  19. #endif
  20.  
  21. typedef    struct
  22.     {
  23.         Boolean            Force;
  24.         Boolean            NoName;
  25.         Boolean            Name;
  26.         Boolean            UseCustomSuffix;
  27.         Boolean            GunzipSuffix;
  28.         char            unused_byte;
  29.         long            Level;
  30.         Str255            Suffix;
  31.         long            unused[4];
  32.     } gzip_prefs;
  33.     
  34. typedef    struct
  35.     {
  36.         Boolean            Keys;
  37.         Boolean            IC;
  38.         Boolean            IC_ASCII;
  39.         Boolean            IC_NotMB;
  40.         short            ResFork;
  41.         short            Mode;
  42.         Boolean            Mode_a;
  43.         char            unused_byte;
  44.         long            unused[4];
  45.     }Compress_prefs;
  46.     
  47. typedef    struct
  48.     {
  49.         Boolean            Keys;
  50.         Boolean            IC;
  51.         Boolean            Fetch;
  52.         Boolean            TryMB;
  53.         OSType            TextCreator;
  54.         OSType            BinType;
  55.         OSType            BinCreator;
  56.         short            Mode;
  57.         long            unused[4];
  58.     }Decompress_prefs;
  59.  
  60. typedef    struct
  61.     {
  62.         short            RecurseMode;
  63.         Boolean            UseDestFolder;
  64.         char            unused_byte;
  65.         short            folderAliasID;    /* resource ID for saving alias of selected file */
  66.         long            unused[4];
  67.     }Folder_prefs;
  68.     
  69. typedef    struct
  70.     {
  71.         Boolean            KeepOriginal;
  72.         Boolean            BeepWhenDone;
  73.         Boolean            QuitWhenDone;
  74.         Boolean            Keys;
  75.         short            DefaultOp;
  76.         long            unused[4];
  77.     }Misc_prefs;
  78.  
  79. typedef struct
  80. {
  81.     long            prefsTypeVers;    /* version number of prefs struct   */
  82.     Boolean                SavedPos;
  83.     char                unused_byte;
  84.     Point                SavedPoint;
  85.     gzip_prefs            gzip;
  86.     Compress_prefs        Compress;
  87.     Decompress_prefs    Decompress;
  88.     Folder_prefs        Folder;
  89.     Misc_prefs            Misc;
  90. } PrefsType, *PrefsTypePtr;
  91.  
  92.  
  93. #if PRAGMA_ALIGN_SUPPORTED || defined(powerc) || defined (__powerc)
  94. #pragma options align=reset
  95. #endif
  96.  
  97.  
  98. /* Same as Menu items */
  99.  
  100. #define kComp_RFAsk        1
  101. #define kComp_RFMB        2
  102. #define kComp_RFNot        3
  103. #define kComp_RFQuit    4
  104.  
  105. #define kComp_MASCII    1
  106. #define kComp_MBin        2
  107. #define kComp_MMB        3
  108.  
  109. #define kDeco_MASCII    1
  110. #define kDeco_MBin        2
  111.  
  112. #define kMisc_unknown    0
  113. #define kMisc_gzip        1
  114. #define kMisc_gunzip    2
  115. #define kMisc_auto        3
  116.  
  117. /* Same as Button items */
  118.  
  119. #define kFold_FNot        1
  120. #define kFold_FFold        2
  121. #define kFold_FAll        3
  122.  
  123.  
  124. /******************************************************************************
  125.  *
  126.  * Globals
  127.  */
  128.  
  129. extern PrefsType    gPrefs;
  130.  
  131. Boolean    GetOrGeneratePrefs(PrefsType * thePrefsTypePtr, AliasHandle * fileAliasHandlePtr, long wantedVers );
  132. OSErr    SavePrefs(PrefsType * thePrefsTypePtr, AliasHandle * fileAliasHandlePtr );
  133. short    OpenPrefsResFile(SignedByte prefsPerm, Boolean createFlag, short StrID);
  134.  
  135. #endif
  136.